using RealtimeCollabGame.Domain.ValueObjects;

namespace RealtimeCollabGame.Domain.Entities;

public class PaintAction : BaseEntity
{
    public Guid GameId { get; private set; }
    public Guid PlayerId { get; private set; }
    public Position Position { get; private set; } = null!;
    public BrushSize BrushSize { get; private set; } = null!;
    public PlayerColor Color { get; private set; } = null!;
    public DateTime Timestamp { get; private set; }

    private PaintAction() { }

    public PaintAction(Guid gameId, Guid playerId, Position position, BrushSize brushSize, PlayerColor color)
    {
        GameId = gameId;
        PlayerId = playerId;
        Position = position;
        BrushSize = brushSize;
        Color = color;
        Timestamp = DateTime.UtcNow;
    }
}